import java.util.HashMap;

/**
 * @projectName: com.xiayuanxing.designPattern
 * @className: WebSiteFactory
 * @author: xiayuanxing
 * @description: 网站工厂类，根据需要返回压一个网站
 * @date: 2022/1/3 9:40
 * @version: 1.0
 */
public class WebSiteFactory {


    /** 定义集合  充当池的作用 */
    private HashMap<String,ConcreteWebSit> pool = new HashMap<>();


    /**
     * @author xiayuanxing
     * @description 根据网站的类型，返回一个网站,如果没有就创建一个网站，并放入到池中,并返回
     * @date 2022/1/3 9:45
     */
    public WebSite getWebSiteCategory(String type){
        if (!pool.containsKey(type)){
            pool.put(type,new ConcreteWebSit(type));
        }
        return (WebSite) pool.get(type);
    }

    /**
     * @author xiayuanxing
     * @description 获取网站分类的总数(池中有多少个网站类型)
     * @date 2022/1/3 9:45
     */
    public int getWebSiteCount(){
        return pool.size();
    }
}
